// 1.定义函数有几种方式
/**
        function(){}
        let fn = function(){}
        new Function()
      **/

// 2.retrun关键字的意义
/**
        返回结果
        中断函数执行
      **/

// 3.函数是否可以重定义，会有什么事情发生
//  不能，会被覆盖报错

// 4.var和function关键字有什么特别功能？
//  变量提升

// 5.请定义一个函数，该函数功能为，传入一个值，返回这个值的平方值
function fn5(i) {
  return i ** 2;
}
// 6.请定义一个函数，该函数功能为，传入一个值，返回这个值的累加值
function fn6(a) {
  let sum = 0;
  for (let i = 1; i <= a; i++) {
    sum += i;
  }
  return sum;
}
// 7.请写出一个函数，功能为：传入三个值，则返回这三个值最大的那个值
function fn7(a, b, c) {
  return Math.max(a, b, c);
}
// 8.请定义一个函数，输入一个N值，则计算出该值的阶乘，即：n! = 1*2*3*4*5*6*...*N
function fn8(a) {
  let res = 1;
  for (let i = 1; i <= a; i++) {
    res *= i;
  }
  return res;
}
// 9.使用add方法，让console输出的结果为true。  （面试题）
// 	let num = 10;
// 	console.log(num.add(20) == 10);  // true
// Number.prototype.add = function (x) {
//   return 10;
// };
num.__proto__.add = function (n) {
  return n - num;
};
let num = 10;
console.log(num.add(20) == 10);
